1. Field of Invention
Embodiments of the invention relate generally to electronic devices and, more specifically, in certain embodiments, to electronic devices with pattern-recognition processors.
2. Description of Related Art
In the field of computing, pattern recognition tasks are increasingly challenging. Ever larger volumes of data are transmitted between computers, and the number of patterns that users wish to identify is increasing. For example, spam and malware are often detected by searching for patterns in a data stream, e.g., particular phrases or pieces of code. The number of patterns increases with the variety of spam and malware, as new patterns may be implemented to search for new variants. Searching a data stream for each of these patterns can form a computing bottleneck. Often, as the data stream is received, it is searched for each pattern, one at a time. The delay before the system is ready to search the next portion of the data stream increases with the number of patterns. Thus, pattern recognition may slow the receipt of data.
When a pattern is detected, it is often useful to examine the data that matched the pattern. Reproducing the matching data, however, may be difficult. Searches may specify wildcard characters or other operators that allow arbitrarily long portions of the data stream to produce a match. Further, portions of different patterns may be matched by the same portions of the data stream, while the different patterns may start and stop at different times. Creating a new copy of the data stream each time the data stream begins to match one of the patterns is expensive, as forming multiple, arbitrarily long copies of the data stream consumes a large amount of memory.